1. Field of the Invention
The invention relates to computing systems, and more specifically, to modifying an order of processing of a task performed on a plurality of objects.
2. Statement of the Problem
There are many different graphical user interfaces (GUIs) that allow a user to select one or more objects and then choose to perform a task on those objects. Typically, the GUI allows the user to select the objects and the task, and then performs the task on the objects without user intervention. Exemplary objects include files, fonts, libraries, resources, devices, etc. For example, a user may select multiple files within an operating system and then choose to copy or delete the selected files. The operating system then proceeds to complete the copying or deleting task without user intervention. In some cases, a GUI may display the progress of the task to the user, allowing the user to monitor the progress of the task on the multiple objects.
However, problems exist because a user cannot modify the order of processing of objects. The operating system or software application typically determines an initial order of processing of the objects, and the user cannot modify the order or remove objects from the initial order after performance of the task on the objects begins. For example, a user may select five objects, such as font files, to install on a printer. The installer application begins installing the fonts, and then the user decides they don't want to install one of the fonts on the printer. Presently, a user's only option is to cancel the entire installation process of all five files, and restart the installation by selecting the desired four fonts to be installed. Further, a user typically has no idea which object will be selected next, nor do they have any idea where they are in the process. Thus, after several minutes of installing, the user may not know which fonts have already been installed, and which fonts are still awaiting installation.
This causes further problems when a user selects multiple objects to perform a task on, because in some situations, the user may not be aware that the action cannot be performed simultaneously on all of the objects. This error condition may be handled in several different ways. If a software application or operating system cannot perform the task on the selected objects, then the software application may notify the user of the error condition by graying out or disabling the task button before the task begins. However, the user may not be aware of which object caused the error condition.
The software application may also present the user with an error message, but again, the user may not be aware of which object caused the error condition. In either case, the software application does not perform the requested task on any of the objects. In another situation, the software application may perform the task on only one of the objects, but the logic is typically random from the user's perspective onto which object the task is performed. In this case, the user may not be aware of which objects the operating system performed the task on, or which object caused processing of the task to cease.